Static Virtual Types in Java Layers
نویسندگان
چکیده
This specification describes how a simple, static form of virtual typing can be implemented in a parametrically polymorphic version of Java. We discuss the need for virtual types and the tradeoffs of integrating virtual types into a statically typed, objectoriented language. Though our discussion is couched in terms of Java Layers, the design can be used in more general settings.
منابع مشابه
A Statically Safe Alternative to Virtual Types
Parametric types and virtual types have recently been proposed as extensions to Java to support genericity. In this paper we investigate the strengths and weaknesses of each. We suggest a variant of virtual types which has similar expressiveness, but supports safe static type checking. This results in a language in which both parametric types and virtual types are well-integrated, and which is ...
متن کاملByte Code Engineering
The term “Java” is used to denote two different concepts: the language itself and the related execution environment, the Java Virtual Machine (JVM), which executes byte code instructions. Several research projects deal with byte code-generating compilers or the implementation of new features via byte code transformations. Examples are code optimization, the implementation of parameterized types...
متن کاملJava Layers Compiler Design
This document contains a brief overview of the JL compiler’s design (version 2) [4]. The compiler supports bounded parametric classes and interfaces, mixins, static virtual typing, deep conformance, constructor propagation, and the class flattening optimization. The intent of this document is to provide a basis for an implementation plan, so we provide the detail needed to gauge the development...
متن کاملA class loading sensitive approach to detection of runtime type errors in component-based Java programs
Context: The employment of class loaders in component-based Java programs may introduce runtime type errors, which may happen at any statement related to class loading, and may be wrapped into various types of exceptions raised by JVM. Traditional static analysis approaches are inefficient to detect
متن کاملUsing program behaviour to exploit heterogeneous multi-core processors
Multi-core CPU architectures have become prevalent in recent years. A number of multi-core CPUs consist of not only multiple processing cores, but multiple different types of processing cores, each with different capabilities and specialisations. These heterogeneous multi-core architectures (HMAs) can deliver exceptional performance; however, they are notoriously difficult to program effectivel...
متن کامل